package 实现文件上传

import (
	"fmt"
	"github.com/gin-gonic/gin"
	"log"
	"net/http"
)

func upload(c *gin.Context) {
	// 获取上传文件，返回的是multipart.FileHeader对象，代表一个文件，里面包含了文件名之类的详细信息
	// file是表单字段名字,单文件
	file, _ := c.FormFile("file")
	// 打印上传的文件名
	log.Fatalln(file.Filename)

	//上传文件到项目根目录，使用原文件名
	c.SaveUploadedFile(file, file.Filename)
	c.String(http.StatusOK, fmt.Sprintf("'%s' upload!", file.Filename))
}
func Goupload(c *gin.Context) {
	c.HTML(http.StatusOK, "upload.html", nil)
}

func main() {
	r := gin.Default()

	//设置较低的内存限制(默认是32MB)
	r.MaxMultipartMemory = 64 << 20 //64 MiB
	r.LoadHTMLGlob("templates/*")
	r.GET("/upload", Goupload)
	r.POST("/upload", upload)
	r.Run(":8081")
}
